﻿// Open Source: MIT License (http://www.opensource.org/licenses/mit-license.php)
// Project: YoProgramo.NET (http://code.google.com/p/yoprogramo/)
// Autor: Fabian Figueredo (info@fabianfigueredo.com.ar)
// Blog: blog.yoprogramo.net

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate.Validator.Engine;
using YoProgramo.Domain.Core.Interfaces;

namespace YoProgramo.Domain.BusinessLogic.Service
{
    public interface IStoryService {
        IList<IStory> GetAll();
        IList<IStory> GetAllNotSpam();
        IList<IStory> GetStoriesForHome(int? top);
        IList<IStory> GetByTag(ITag tag);
        IList<IStory> GetByUser(IUser user);
        IList<IStory> GetAllWOutAnswer();
        IList<IStory> GetByCategory(ICategory category);
        IStory GetBySlug(string slug);
        InvalidValue[] Create(IStory obj);
        bool Update(IStory obj);
        void Delete(IStory obj);
        IList<IUser> GetUsersFavForStory(IStory story);
    }
}